<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /*
        函数声明的语法
            1.function 函数名（）{}
            2.var 函数名=function（）{}

        和java相比有如下特点
            1.没有访问修饰符
            2.没有返回值类型也没有void 如果有值要返回，则直接return即可
            3.没有异常列表
            4.调用方法时，形参和实参可以在数量上不一致，再方法内部可以通过arguments获得调用时的实参
        */

        //声明函数
        function sum(a, b) {
            console.log(arguments)
            return a + b + arguments[2]  //突发奇想既然传进来的参数哪怕是多的也都在arguments数组里，那通过数组下标加行不行呢，答案是可以..!!!!
            //如果加的是个不存在的参数，值为NaN
        }

        //调用函数 接受结果
        var result = sum(20, 120, 899999)  //多的参数相当于没传
        console.log(result)

        function sum1(a, b) {
            console.log(arguments)
            return a + b
        }

        function add(getSum){
            return getSum(20,50)
        }

        var number=add(sum1)
        console.log(number)
    </script>
</head>

<body>

</body>

</html>